package com.powerbank.common.dto;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 设备状态请求DTO
 */
@Data
public class DeviceStatusRequest {

    /**
     * 设备编码
     */
    @NotBlank(message = "设备编码不能为空")
    private String deviceCode;

    /**
     * 设备状态：AVAILABLE-可用，OCCUPIED-占用，FAULT-故障，MAINTENANCE-维护，OFFLINE-离线
     */
    @NotBlank(message = "设备状态不能为空")
    private String status;

    /**
     * 电池电量百分比
     */
    private Integer batteryLevel;

    /**
     * 网络信号强度
     */
    private Integer signalStrength;

    /**
     * 在线状态：0-离线，1-在线
     */
    @NotNull(message = "在线状态不能为空")
    private Integer onlineStatus;

    /**
     * 故障代码
     */
    private String faultCode;

    /**
     * 故障描述
     */
    private String faultDescription;

    /**
     * 备注
     */
    private String remark;
}